API安全面临的主要挑战有哪些方面
API安全面临的主要挑战有以下方面:
API广泛使用带来攻击面扩大的挑战:API技术的产生是为了解决不同组件或模块之间的标准化通信交互问题,随着互联网上业务种类的不断增加,出现了以API为中心的API经济生态。在这个生态系统内,API能力提供者作为平台能力支撑方和运营者,通过API的形式对外开放业务能力,吸引第三方厂商或合作伙伴加入此生态系统。开放的业务能力越多,API暴露的攻击面就越大;参与生态构建的第三方厂商越大,API使用范围越广泛,API暴露的攻击面也就越大。
API安全实践经验缺失的挑战:对于使用API技术的企业来说,使用某项技术是为了解决某些问题,以期望得到更高效的业务能力,但因技术人员对使用某项技术带来安全风险往往理解不够深刻。尤其是在当前互联网业务竞争十分激烈,版本更新迭代非常频繁的情况下,应付API功能的开发已经很疲惫,加上团队内部或企业内部缺少安全经验丰富的人员来对研发过程进行监督或指导,导致开发出来的API存在安全缺陷。而企业缺少API开发过程中的相关工具、平台以及保障机制,更无法从组织层面指导API安全实践的开展。
外部环境变化带来的合规性挑战:近几年,随着国家层面网络空间治理的不断深入,满足合规性要求成为每一个企业正常业务开展的必要条件。
组织经常低估API风险:人们通常会假设程序会按照想象中的过程运行,从而导致API被攻击的可能性以及影响被严重低估,因此不去采取充分的防护措施。此外,第三方合作伙伴系统的API,也容易被组织所忽视。
API接口对外不可见引发多种攻击隐患:由于API是由程序员书写,除了编写代码的程序员,很少有人意识到这些API的存在,缺少维护的API经常容易被忽略,然而恶意攻击者却可以利用网络流量、逆向代码、安全漏洞等各种手段找到不设防API并实施攻击。
创新强调速度和灵活忽略构建API安全:敏捷开发模式是当今主流开发模式,敏捷开发强调个体和互动、工作的软件、客户合作、响应变化,虽然提升了创新速度和灵活性,但是对于如何构建API安全性却缺少合适的方法,导致在软件构建过程中难以顾及API安全。
API安全面临挑战的防御措施如下:
API治理:对全部API进行全面文档化管理,为了规避API变动频繁的困难,推荐使用开源自动化管理工具,在API变更时添加描述性说明,自动生成最新API文档,同时自动检查流量以发现和分析未知或更改的API,以便快速响应基于API的攻击。梳理API之间的调用链,梳理API之间的调用关系,找出僵尸API,防止安全防护措施遗漏,该步骤也可通过工具完成。对API实施契约测试和白盒测试,减少漏洞存在的可能性。
新型解决方案:针对API面临的安全威胁,可采用新的解决方案提供安全防护。包括使用高级BOT检测,实现预登陆验证,拦截API非授权访问;部署API网关对API请求进行身份验证、授权和访问控制;使用正向和负向安全模式对API参数进行合法性验证;发现API流量行为并提供与WAF/DDoS快速集成的工具等等。
持续API安全检视:从发现、保护和分析三个维度,制定API安全检视列表,持续对API进行安全检视,以此发现隐患,制定策略、实施防护。在发现维度检视API开发、测试和部署的安全措施是否全面。在保护维度,检视用户标识、DDOS攻击防护措施、数据校验黑白名单是否完整。在分析维度,检视API风险评估、API审计日志是否充分。